Characterization of the capacity region of a set of transmitters in a communication network

ABSTRACT

A capability is provided for characterizing the capacity region of a set of transmitters of a communication network. A set of interference constraints is determined for a set of transmitters having a plurality of transmitters. A plurality of expressions for a respective plurality of transmission time fractions for the transmitters are determined, as functions of a plurality of stability parameters of the respective transmitters and a plurality of ratio parameters of the respective transmitters, based on the set of interference constraints. A plurality of expressions for the respective plurality of stability parameters for the transmitters are determined as functions of the transmission time fractions of the transmitters and the ratio parameters of the transmitters. The expressions for the stability parameters are indicative of the capacity region of the set of transmitters, which may be determined by evaluating the expressions for the stability parameters.

TECHNICAL FIELD

The disclosure relates generally to communication networks and, more specifically but not exclusively, to the characterization of the capacity region of a set of transmitters in a communication network.

BACKGROUND

Carrier sense multiple access (CSMA) is a media access control (MAC) protocol in which a node verifies the absence of other traffic before transmitting on a shared transmission medium, such as an electrical bus or a band of electromagnetic spectrum. The term “carrier sense” indicates that a transmitter uses feedback from a receiver that detects a carrier wave before trying to transmit (e.g., attempting to detect the presence of an encoded signal from another station before attempting to transmit) such that when a carrier is sensed the transmitter may wait for completion of the transmission that is currently in progress before initiating a new transmission. The term “multiple access” indicates that multiple terminals send and receive traffic via the transmission medium. CSMA collision avoidance (CSMA/CA) is used to improve the performance of CSMA by attempting to be less greedy with the transmission medium by deferring transmission for a random interval if another ongoing transmission is sensed on the medium.

In general, multi-hop wireless networks have been considered a difficult modeling problem, because transmissions from a given node may affect the medium access of one or more other nodes in an intricate way. For example, in a CSMA/CA wireless network, a non-transmitting node that detects an ongoing transmission by a transmitting node is expected to remain silent at least until the transmitting node has finished the transmission. While this silence of the non-transmitting node may prevent a collision that is caused by the non-transmitting node, the silence by the non-transmitting node may also be interpreted by neighboring nodes of the non-transmitting node as an indication that the medium is idle and, thus, may trigger new transmissions by one or more of the neighboring nodes.

SUMMARY OF EMBODIMENTS

Various deficiencies in the prior art may be addressed by embodiments for supporting characterization of the capacity region of a wireless network.

In one embodiment, an apparatus includes a processor and a memory communicatively connected to the processor. The processor is configured to determine a set of interference constraints for a set of transmitters including a plurality of transmitters. The processor is configured to determine, based on the set of interference constraints, a plurality of expressions for a respective plurality of fractions of time that the transmitters transmit. The processor is configured to determine, based on the expressions for the fractions of time that the transmitters transmit, a plurality of expressions for a respective plurality of stability parameters of the transmitters, where the expressions for the stability parameters are indicative of a capacity region of the set of transmitters.

In one embodiment, a method includes using a processor and a memory to perform a set of steps. The method includes determining a set of interference constraints for a set of transmitters including a plurality of transmitters. The method includes determining, based on the set of interference constraints, a plurality of expressions for a respective plurality of fractions of time that the transmitters transmit. The method includes determining, based on the expressions for the fractions of time that the transmitters transmit, a plurality of expressions for a respective plurality of stability parameters of the transmitters, where the expressions for the stability parameters are indicative of a capacity region of the set of transmitters.

In one embodiment, an apparatus includes a processor and a memory communicatively connected to the processor. The processor is configured to determine a set of transmission conditions for a set of transmitters, where the set of transmitters includes a plurality of transmitters. The processor is configured to determine a capacity region of the set of transmitters, where the capacity region is defined based on a plurality of expressions of a respective plurality of stability parameters of the transmitters. The processor is configured to obtain transmitter input information of the transmitters in the set of transmitters. The processor is configured to determine feasibility of the set of transmission conditions based on the expressions of the stability parameters and the transmitter input information.

In one embodiment, a method includes using a processor and a memory to perform a set of steps. The method includes determining a set of transmission conditions for a set of transmitters, where the set of transmitters includes a plurality of transmitters. The method includes determining a capacity region of the set of transmitters, where the capacity region is defined based on a plurality of expressions of a respective plurality of stability parameters of the transmitters. The method includes obtaining transmitter input information of the transmitters in the set of transmitters. The method includes determining feasibility of the set of transmission conditions based on the expressions of the stability parameters and the transmitter input information.

BRIEF DESCRIPTION OF THE DRAWINGS

The teachings herein can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:

FIG. 1 depicts a high-level block diagram of an exemplary wireless system;

FIG. 2 depicts the operation of three saturated transmitters associated with three nodes of a network where the three saturated transmitters are within carrier sense range;

FIG. 3 depicts the operation of three unsaturated transmitters associated with three nodes of a network where the three unsaturated transmitters are within carrier sense range;

FIG. 4 depicts the dual saturated network for the unsaturated network of FIG. 3;

FIG. 5 depicts the capacity regions for three exemplary embodiments of networks including transmitters;

FIG. 6 depicts one embodiment of a method for determining the capacity region of a set of transmitters;

FIG. 7 depicts one embodiment of a method for determining feasibility of a given vector of transmission time fractions of a set of transmitters based on the capacity region of the set of transmitters; and

FIG. 8 depicts a high-level block diagram of a computer suitable for use in performing functions described herein.

To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.

DETAILED DESCRIPTION OF EMBODIMENTS

In general, a capability is provided for characterizing the capacity region of at least a portion of a communication network (e.g., a set of transmitters of the communication network, which may include all or a subset of the transmitters in the communication network).

In at least some embodiments, the capacity region characterization capability is configured to enable determination of expressions which characterize, or are adapted for use in characterizing, the capacity region of at least a portion of a communication network.

In at least some embodiments, the capacity region characterization capability is configured to enable application of expressions which characterize, or are adapted for use in characterizing, the capacity region of at least a portion of a communication network.

In at least some embodiments, the capacity region characterization capability is configured to enable application of expressions which characterize, or are adapted for use in characterizing, the capacity region of at least a portion of a multi-hop communication network. It will be appreciated that a multi-hop network may support single-hop flows or multi-hop flows.

In at least some embodiments, the capacity region characterization capability fully characterizes and predicts the behavior of a multi-hop communication network even when there is a strong interdependence among the states of the transmitters across the multi-hop communication network.

It will be appreciated that, although primarily depicted and described herein within the context of application of embodiments of the capacity region characterization capability to a particular type of communication network (namely, a wireless communication network employing a carrier sense multiple access with collision avoidance (CSMA/CA protocol), embodiments of the capacity region characterization capability may be applied to various other types of wireless or wired communication systems using shared transmission mediums (e.g., a shared electrical bus, a shared band of electromagnetic spectrum, or the like).

FIG. 1 depicts a high-level block diagram of an exemplary wireless system.

As depicted in FIG. 1, the wireless system 100 includes a wireless network 110 having ten wireless nodes 112 ₁-112 ₁₀ (collectively, wireless nodes 112). In general, each of the wireless nodes 112 is configured to communicate wirelessly with one or more other wireless nodes 112 and, thus, each wireless node 112 includes at least one wireless transmitter and at least one wireless receiver. Illustratively, the wireless nodes 112 ₁-112 ₁₀ include ten wireless transceivers 113 ₁-113 ₁₀ (collectively, wireless transceivers 113), respectively. The wireless nodes 112 of wireless network 110 are running the CSMA/CA protocol. For example, wireless node 112 ₁ may communicate with wireless nodes 112 ₂, 112 ₃, 112 ₄, and 112 ₅ due to its geographic proximity to these wireless nodes 112, but not the other wireless nodes 112 of wireless network 110 which may be out of wireless range of wireless node 112 ₁. Similarly, for example, wireless node 112 ₁₉ may communicate with wireless nodes 112 ₇ and 112 ₉ due to its geographic proximity to these wireless nodes 112, but not the other wireless nodes 112 of wireless network 110 which may be out of wireless range of wireless node 112 ₁₉. It will be appreciated that, for a given wireless node 112, the number of other wireless nodes 112 with which that given wireless node 112 communicates may depend on the geographic distances between the wireless nodes 112, the transmit powers of the wireless transmitters of the wireless nodes, the fading of the wireless signal during its propagation from the wireless transmitters to the wireless receivers, the noise at the wireless receivers of the wireless nodes, and the like, as well as various combinations thereof.

As further depicted in FIG. 1, wireless system 100 includes a capacity region characterization system 120. The capacity region characterization system 120 may be configured to provide various functions of the capacity region characterization capability. The capacity region characterization system 120 may be configured to characterize the capacity region of at least a portion of wireless network 110. The capacity region characterization system 120 may be configured to determine expressions adapted for use in characterizing the capacity region of at least a portion of the wireless network 110. The capacity region characterization system 120 may be configured to determine the capacity region of at least a portion of the wireless network 110 by applying expressions adapted for use in characterizing the capacity region of at least a portion of the wireless network 110. The capacity region characterization system 120 may be configured to provide various other functions of the capacity region characterization capability. The capacity region characterization system 120 may be communicatively connected to the wireless network 110 (as depicted in FIG. 1) or otherwise associated with the wireless network 110 (e.g., where the capacity region characterization system 120 may store information associated with wireless network 110).

The wireless network 110 may be configured to support single hop flows or multi-hop flows. It has been determined that there are difficulties associated which characterizing and predicting the behavior of wireless networks supporting multi-hop flows or even single hop flows, e.g., since there may be a strong interdependence among the states of the transmitters across the network. It also has been determined that at least part of the difficulty in characterizing and predicting the behavior of a multi-hop wireless network is due to the following factors: (1) the distributed nature of the CSMA/CA MAC protocol, which dictates that transmitters should back off from each other in order to avoid collisions, (2) the buffer dynamics of unsaturated traffic transmitters, which occasionally cause queues to become empty and result in a time-varying subset of transmitters contending for the channel, and (3) the dependence of downstream hops on upstream traffic, which couples together the queue occupancy of all hops in a multi-hop flow. The first factor induces some correlation among neighboring transmitters, because of the physical proximity of the neighboring transmitters. The second and third factors, on the other hand, correlate transmitters throughout the network, at least because of the traffic pattern. These factors or problems are further exacerbated if the multi-hop wireless network serves several flows at the same time and, therefore, transmissions of a given flow affect the medium access, as well as the throughput, of other flows. Accordingly, in at least some embodiments, a throughput model for a wireless network may be expected to account for the physical proximity of wireless transmitters and the respective interference constraints of the wireless transmitters, as well as the end-to-end traffic requirements of the flows of the multi-hop wireless network.

Various embodiments of the capacity region characterization capability may be better understood by considering an exemplary system model and associated assumptions. It will be appreciated that the exemplary system model and associated assumptions may be related to wireless network 110 of FIG. 1 or any other suitable type of communication network for which the capacity region characterization capability may be applied.

In an exemplary system model, a wireless network includes nodes that forward traffic to each other in a multi-hop fashion based on various characteristics, descriptions of which follow. End-to-end routes are established according to a given routing metric before the network becomes operational, and are assumed to remain fixed over time (although it will be appreciated that, in at least some cases, they may change over time). Each multi-hop flow is then allowed to traverse the network using these end-to-end routes. The flows, and the respective average rates of the flows, do not change, at least for a sufficient amount of time, to allow for convergence to a steady state. For ease of presentation, it is assumed that each node is equipped with an omni-directional antenna communicating in a single channel, although it will be appreciated that various embodiments presented herein may be extended to directional antennas or multi-channel wireless networks. It is assumed that each node includes a unique transmission flow queue for each flow, although it will be appreciated that various embodiments presented herein may be extended to other queuing schemes (e.g., use of a single transmission queue shared by all flows, use of multiple transmission queues dedicated for use by respective groups of flows, or the like). When a packet of a flow arrives at a node, the packet is placed in the corresponding transmission flow queue associated with the flow for future transmission. Packet scheduling across transmission flow queues within a node may be performed using a CSMA/CA MAC protocol (assumed to be an idealized CSMA/CA MAC protocol). The transmission flow queues of a node may operate as logically individual nodes (e.g., as individual, collocated transmitters having their own sets of parameters associated therewith, respectively).

In the exemplary system model, as discussed above, the wireless network includes nodes where each node may include one or more associated transmitters. It is assumed that the CSMA/CA MAC protocol controls the medium access among the transmitters of the nodes. In CSMA/CA, before transmitting a packet, a node having a transmitter i first uses carrier sensing to determine whether the medium is idle. If the received power detected during carrier sensing is above a given threshold then the medium is considered to be busy and the transmitter i of the node waits until the ongoing transmission is finished; otherwise, the medium is considered idle and the transmitter i of the node independently samples a random back-off interval B_(i) from a given probability distribution (which can be the same or different for different transmitters) and waits for at least that length of time before transmitting. It is noted that, while the back-off interval may be exponentially distributed, this is not required; in fact, no assumptions are placed on the probability distribution of the back-off intervals. It is assumed that each transmission flow queue within a node is a transmitter i having an associated back-off counter which tracks the remaining time until the next scheduled transmission by the transmitter i (e.g., counting down to zero). If the medium becomes busy during the back-off interval of a transmitter i, then the transmitter i freezes its counter and resumes the countdown when the medium becomes idle again. The transmitter i transmits when its counter reaches zero.

The duration of a packet transmission may be modeled as follows. Each transmission from transmitter i takes a random time T_(i), which depends both on the packet size of the packet being transmitted and on the bit rate at which the packet is transmitted. The bit rate r_(i) of each transmitter i is assumed to be fixed (although it will be appreciated that, in at least some embodiments, the bit rates may change over time) and, thus, the randomness of T_(i) comes from the different packet sizes generated by the flow source i associated with the transmitter i. It is noted that, while exponentially distributed packet sizes or independent regeneration of packets at relay nodes may be used during transmission of packets, neither is required. Rather, for purposes of clarity, it is assumed that packet sizes are generated by the flow source i according to a given discrete probability distribution (which may be the same or different across flows), and that packets retain their sizes as the packets traverse the network. In addition, it is noted that, while saturation of all transmitters i is possible, an assumption is not made that all transmitters are saturated; rather, it is assumed that all packets are generated at each flow source i with a random inter-arrival time A_(i), following a given probability distribution, which may be the same or different across flows. As before, no assumptions are placed on these probability distributions.

The transmission of a packet may be susceptible to errors. It is assumed that packets are received without interference and, thus, that fading and the random noise in the wireless channel are the only sources of error. This implies two important assumptions on the network model as follows. The first assumption is that there are no hidden nodes in the network and, thus, that if two transmitters interfere at a common receiver then each transmitter is able to sense the transmission of the other transmitter and back off accordingly. This first assumption is proven to occur if the carrier-sense range is large enough and if receivers can abort an ongoing reception to lock onto a new signal with a sufficiently higher power. There are at least some chipsets that support this type of preemption in the so-called restart mode and, thus, the hidden node problem can be avoided. The second assumption is that the carrier sensing is instantaneous and, thus, that as soon as a transmission starts the transmission is immediately detected by the neighbor nodes. This second assumption implies that both the propagation delay and the carrier-sense delay are zero (or substantially near zero). This implication of the second assumption is reasonable since the nodes are usually physically close to each other and carrier sensing takes only a few microseconds in at least some of the existing wireless cards. Additionally, with instantaneous carrier sensing, collisions due to two or more transmitters finishing their associated back-off intervals at the same time are also not possible since these intervals are continuous random variables.

In view of the foregoing assumptions, each packet is received by the transceiver associated with transmitter i (namely, with the receiver portion of the transceiver) with a given probability p_(i) (the packet delivery ratio of transmitter i) at the chosen bit rate r_(i). If the transmission fails, the transmitter i samples another back-off interval and rebroadcasts the packet as many times as necessary. This model has shown to accurately approximate the behavior of transmitters. However, even if hidden interferers and collisions do exist in the network, the effect of such conditions is considerably reduced in the unsaturated conditions considered in this exemplary system model. In any case, if hidden interference and collisions occur often in the network, then the capacity limits described in this disclosure present in fact an upper bound of the actual network capacity limits (e.g., the actual network capacity limits may be lower than the limits computed herein).

In CSMA/CA networks, several transmitters may transmit together if the transmitters are unable to sense the transmissions of the other transmitters. A set of transmitters able to simultaneously transmit is defined as a feasible set (which is denoted herein using S or K). It is assumed that all feasible sets of transmitters of the network are known. Given this knowledge of the feasible transmitter sets, the network state is defined as the feasible set S of transmitters which are currently transmitting. π_(S) is defined as the probability, or the fraction of time, that the network is in state S (i.e., transmitters in S are simultaneously transmitting) and, thus, Σ_(S)π_(S)=1. π_(Ø) is used to represent the fraction of time that no transmitter is transmitting across the entire network (i.e., S=Ø). With a slight manipulation of notation, the probability π_({i,j}) that two transmitters i and j are both transmitting is expressed as π_(i,j). Finally, θ_(i)=E[T_(i)]/E[B_(i)] is defined as the ratio between the expected transmission time E[T_(i)] and the expected back-off time E[B_(i)] for transmitter i, and x_(ƒ) is defined as the average throughput of a flow ƒ in bits per second. The notations of the exemplary system are summarized in Table 1.

TABLE 1 Notation Definition A_(i) random variable for the inter-arrival time at transmitter i B_(i) random variable for the back-off interval of transmitter i T_(i) random variable for the transmission time of transmitter i θ_(i) ratio between E[T_(i)] and E[B_(i)], i.e., θ_(i) = E[T_(i)]/E[B_(i)] r_(i) bit rate of transmitter i, in bits per second (assumed fixed) p_(i) packet delivery ratio of transmitter i (assumed fixed) x_(f) average throughput of a flow f, in bits per second S or K a set of transmitters which may transmit at the same time π_(S) probability that all transmitters in S are transmitting π_(Ø) probability that no transmitter is transmitting (S = Ø) π_(i,j) probability that two transmitters (i and j) are both transmitting ρ_(i) stability parameter of transmitter i γ_(i) product of ρ_(i) and θ_(i), i.e., γ_(i) = ρ_(i)θ_(i) y_(i) fraction of time that transmitter i is transmitting, i.e., $y_{i} = {\sum\limits_{S:{i \in S}}^{\;}\pi_{S}}$

In at least some embodiments, for a given CSMA/CA network, the throughput of each flow of the CSMA/CA network may be determined and the capacity region of the CSMA/CA network may be determined. In at least some embodiments, the throughput of saturated single-hop flows may be determined. In at least some embodiments, the throughput of unsaturated single-hop flows may be determined. In at least some embodiments, the embodiments related to single-hop flows in a CSMA/CA network may be generalized to address multi-hop flows in an arbitrary multi-hop wireless network.

In at least some embodiments, the throughput of saturated single-hop flows in a CSMA/CA network may be determined. It is assumed that each node of the network communicates only with direct neighbor nodes and, thus, that each flow of the network is transmitted only over a single hop. This type of model may apply, for example, to an enterprise wireless local area network (WLAN) in which several access points are deployed across an enterprise campus. It is further assumed that the network includes n transmitters (which are able to sense each other via carrier sensing) where each of the n transmitters is saturated with an infinite backlog of packets to transmit. In these conditions, when a given transmitter is transmitting, the back-off counters of the other transmitters are frozen until the current transmission is complete. This scenario results in unfinished work associated with each of the transmitters. An example of unfinished work for a set of saturated transmitters is illustrated in FIG. 2.

FIG. 2 depicts the operation of three saturated transmitters associated with three nodes of a network where the three saturated transmitter are within carrier sense range.

As depicted in FIG. 2, the unfinished work U_(i)(t) of each transmitter i at time t is illustrated. More specifically, FIG. 2 depicts the unfinished work U₁(t) for a first transmitter, the unfinished work U₂(t) for a second transmitter, and the unfinished work U₃(t) for a third transmitter. As further depicted in FIG. 2, at any time t, each transmitter may be in one of three states: a back-off state, a frozen state, or a transmission state (which are depicted in FIG. 2 using different types of shading). The unfinished work U_(i)(t) of a transmitter i represents the remaining time before the state of transmitter i changes and may express either the remaining back-off time of transmitter i or the remaining transmission time of transmitter I.

In general, it is known from the saturation condition that a transmitter i will be either backing off, frozen, or transmitting. For each packet, a back-off interval B_(i) is sampled, and transmitter i waits at least the length of the sampled back-off interval before transmitting. If a neighbor of transmitter i begins transmitting during the back-off interval, the back-off counter of transmitter i is frozen and transmitter i waits for the ongoing transmission to finish. When the transmission of the neighbor is finished, transmitter i restarts the countdown of the back-off counter from where it had previously stopped and waits for the back-off counter to expire. When the back-off counter of transmitter i expires, transmitter i transmits the packet for T_(i) seconds, after which the cycle restarts. It will be appreciated that there are n+1 states in which such a network can operate. The first state (denoted as S=Ø) occurs when none of the transmitters are transmitting. The other n states S={i} occur when transmitter i is active while the other transmitters are frozen. The steady-state solution then defines the probabilities π₀, π₁ . . . , π_(n) of each of the n+1 network states.

Let c_(i)(t) be the transmission count from transmitter i in a large time window [0,t). If, within this time window, transmitter i made c_(i)(t) transmissions, then transmitter i also has backed off c_(i)(t) times since there is a back-off interval for each packet that is transmitted. Given that each transmitter only decreases its back-off counter when no other transmitter is transmitting (when the network state is S=0), the ratio π_(i)/π_(Ø) may be computed as:

$\begin{matrix} {{\frac{\pi_{i}}{\pi_{\varnothing}} = {{\lim\limits_{t\rightarrow\infty}\frac{\frac{1}{t}{\sum\limits_{j = 1}^{c_{i}{(t)}}\;{T_{i}(j)}}}{\frac{1}{t}{\sum\limits_{j = 1}^{c_{i}{(t)}}\;{B_{i}(j)}}}} = {{\lim\limits_{t\rightarrow\infty}\frac{\frac{1}{c_{i}(t)}{\sum\limits_{j = 1}^{c_{i}{(t)}}\;{T_{i}(j)}}}{\frac{1}{c_{i}(t)}{\sum\limits_{j = 1}^{c_{i}{(t)}}\;{B_{i}(j)}}}} = {\frac{E\left\lbrack T_{i} \right\rbrack}{E\left\lbrack B_{i} \right\rbrack} = \theta_{i}}}}},} & (1) \end{matrix}$ where B_(i)(j) and T_(i)(j) are the duration of the j-th back-off interval and the j-th transmission of transmitter i, respectively. It will be appreciated that π_(i)/π_(Ø), does not depend on the individual distributions of T_(i) and B_(i), but rather, only depends on the ratio θ_(i) between the expected values of T_(i) and B_(i). From Eq. (1), a system of linear equations can be written as:

$\begin{matrix} {\pi_{\varnothing} = {\frac{\pi_{1}}{\theta_{1}} = {\frac{\pi_{2}}{\theta_{2}} = {\ldots = \frac{\pi_{n}}{\theta_{n}}}}}} & (2) \end{matrix}$ which, along with the normalizing condition Σ_(S) π_(S)=1, may be solved to find the steady-state probabilities as follows:

$\begin{matrix} {{\pi_{Ø} = \frac{1}{1 + \theta_{1} + \theta_{2} + \ldots + \theta_{n}}}{\pi_{i} = {\frac{1}{1 + \theta_{1} + {\theta_{2}\mspace{20mu}\ldots} + \theta_{n}}.}}} & (3) \end{matrix}$ The average throughput x_(i) of transmitter i may then be computed as

$\begin{matrix} {x_{i} = {\left( \frac{\theta_{i}}{1 + \theta_{1} + \theta_{2} + \ldots + \theta_{n}} \right)r_{i}{p_{i}.}}} & (4) \end{matrix}$

In a more general case, assume that there are still n transmitters in the network, but that not all of the transmitters are within carrier-sense range. As a result, two or more transmitters that do not hear each other may transmit at the same time. The steady-state probabilities for this general case may be computed by establishing the relationship between two general states π_(S) and π_(S∪{i}), which differ only by a single transmitter i. A saturated CSMA/CA network has been proven to be a time-reversible Markov field and, thus, detailed balance holds. In this case, the relation between any two adjacent network states, S and S∪{i}, is shown to be

$\begin{matrix} {\pi_{S} = {\frac{\pi_{S\bigcup{\{ i\}}}}{\theta_{i}}.}} & (5) \end{matrix}$ It is noted that Eq. (5) generalizes the relation in Eq. (2) for the case where transmitters are not necessarily within carrier-sense range. From Eq. (5), a system of linear equations can then be written as:

$\begin{matrix} {{\pi_{Ø} = {\frac{\pi_{1}}{\theta_{1}} = {\ldots = {\frac{\pi_{n}}{\theta_{n}} = {\ldots = {\frac{\pi_{i,j}}{\theta_{i}\theta_{j}} = {\ldots = \frac{\pi_{S}}{\prod\limits_{k \in S}\;\theta_{k}}}}}}}}},} & (6) \end{matrix}$ which, along with the normalizing condition Σ_(S)π_(S)=1, may be solved to find the steady-state probabilities

$\begin{matrix} {{\pi_{Ø} = \frac{1}{\sum\limits_{K}{\prod\limits_{k \in K}\;\theta_{k}}}}{{\pi_{S} = \frac{\prod\limits_{k \in S}\theta_{k}}{\sum\limits_{K}{\prod\limits_{k \in K}\;\theta_{k}}}},}} & (7) \end{matrix}$ where the summation in the denominator is over all feasible sets K. The fraction of time a given set S transmits is thus proportional to the product of the θ_(k) ratios of each transmitter k within this set. From Eq. (7), the average throughput x_(i) of transmitter i can then be computed as x_(i)=(Σ_(S:iεS)π_(S))r_(i)p_(i), where the summation is over all sets S where transmitter i is transmitting.

The foregoing discussion regarding saturated single-hop flows may be generalized for the case of unsaturated single-hop flows. This reflects the case where nodes communicate only with direct neighbors, but now each transmitter does not always have a packet to transmit. As a result, the subset of transmitters contending for the channel significantly changes over time, imposing an extra challenge to the model.

Let the network have n transmitter able to carrier sense each other. Each transmitter i generates packets with a random inter-arrival time A_(i), following a given probability distribution, and the packets are then placed into the respective flow queue for transmission. An example of unfinished work for a set of unsaturated transmitters is illustrated in FIG. 3.

FIG. 3 depicts the operation of three unsaturated transmitters associated with three nodes of a network where the three unsaturated transmitters are within carrier sense range.

As depicted in FIG. 3, the unfinished work U_(i)(t) of each transmitter i at time t is illustrated. More specifically, FIG. 3 depicts the unfinished work U₁(t) for a first transmitter, the unfinished work U₂ (t) for a second transmitter, and the unfinished work U₃ (t) for a third transmitter. As further depicted in FIG. 3, at any time t, each transmitter may be in one of four states, which include three active states (e.g., a back-off state, a frozen state, a transmission state) and an idle state. The active states are depicted using lines defining areas and using different types of shading within the areas defined by the lines. The idle state is depicted as white space not enclosed by any type of lines.

As depicted in FIG. 3, the queue backlogs of the transmitters are no longer infinite and, thus, each transmitter i has a packet to send only part of the time. A transmitter i is active when the queue of the transmitter is non-empty, but remains idle otherwise. When a new packet arrives at an empty queue associated with a transmitter i, the back-off counter B_(i) is sampled and the countdown of the back-off counter for transmitter i begins. The behavior is then similar to that of a saturated network (e.g., such as the behavior depicted in FIG. 2, where each transmitter i freezes its back-off counter whenever a neighbor transmitter transmits, and where the transmitter i transmits for T_(i) seconds after the back-off counter of the transmitter i is decremented to zero). The time during which a transmitter i could be counting down via its back-off timer, but is not counting down via its back-off timer because the associated queue is empty, is referred to as the idle time of the transmitter I. It is noted that, given that the three transmitters in FIG. 3 are within carrier-sense range, the countdown by the third transmitter only occurs when none of the transmitters is transmitting (i.e., when S=Ø), as illustrated by the “idle time” designations depicted below the time axis for the third transmitter However, since the three transmitters are not saturated, each of the three transmitters counts down only a fraction of this time.

If the fraction of time that a transmitter i counts down is ρ_(i), such that 0≦ρ_(i)≦1, then, noting Eq. (2) and reducing π_(Ø) by ρ_(i) gives

$\begin{matrix} {{{\rho_{i}\pi_{Ø}} = \frac{\pi_{i}}{\theta_{i}}},} & (8) \end{matrix}$ where π_(i)/θ_(i)=π_(i) (E[B_(i)]/E[T_(i)]) is the fraction of time that transmitter i counts down via its back-off counter, and ρ_(i)π_(Ø) reflects that transmitter i counts down via its back-off counter only a fraction of π_(Ø). If a variable γ_(i) is defined as: γ_(i)=ρ_(i)θ_(i)  (9) for each transmitter i, a system of equations may be written as:

$\begin{matrix} {{\pi_{Ø} = {\frac{\pi_{1}}{\gamma_{1}} = {\frac{\pi_{2}}{\gamma_{2}} = {\ldots = \frac{\pi_{n}}{\gamma_{n}}}}}},} & (10) \end{matrix}$ which, along with the normalizing condition Σ_(S) π_(S)=1, may be solved for the steady-state probabilities:

$\begin{matrix} {{\pi_{Ø} = \frac{1}{1 + \gamma_{1} + \gamma_{2} + \ldots + \gamma_{n}}}{\pi_{i} = {\frac{\gamma_{i}}{1 + \gamma_{1} + \gamma_{2}\; + \ldots + \gamma_{n}}.}}} & (11) \end{matrix}$ The average throughput x_(i) of a transmitter i is then

$\begin{matrix} {x_{i} = {\left( \frac{\gamma_{i}}{1 + \gamma_{1} + \gamma_{2} + \ldots + \gamma_{n}} \right)r_{i}{p_{i}.}}} & (12) \end{matrix}$

It is noted that, although it would be expected that the steady-state solution in Eq. (11) for unsaturated transmitters would be different than the solution in Eq. (3) for saturated transmitters, it has been determined that the solutions are remarkably similar. A difference between the solutions for saturated transmitters and unsaturated transmitters is that each component θ_(i) is replaced with γ_(i). It also has been determined that Eq. (11) is the solution of another network with saturated transmitters. This may be seen from the following:

$\begin{matrix} {\gamma_{i} = {{\rho_{i}\theta_{i}} = {{\rho_{i}\left( \frac{E\left\lbrack T_{i} \right\rbrack}{E\left\lbrack B_{i} \right\rbrack} \right)} = {\frac{E\left\lbrack T_{i} \right\rbrack}{{E\left\lbrack B_{i} \right\rbrack}/\rho_{i}}.}}}} & (13) \end{matrix}$ Thus, the solution in Eq. (11) is equivalent to a network in which each transmitter is saturated and has a larger average back-off time E[B_(i)]/ρ_(i). An example is illustrated in FIG. 4, which depicts the dual saturated network for the unsaturated network of FIG. 3.

FIG. 4 depicts the dual saturated network for the unsaturated network of FIG. 3. As depicted in FIG. 4, the back-off intervals are stretched such that each transmitter i has no idle time. In both networks, the transmitters transmit during the same time and, thus, the steady-state solution must be the same. Given that the steady-state solution in Eq. (11) depends only on the average values, the probability distribution of the stretched back-off interval in the dual network, as depicted in FIG. 4, does not need to be determined. However, in order for the solution to be unique, the ρ_(i) factors should be defined.

The ρ_(i) factor is similar to the utilization factor in queuing theory and is directly related to stability. In order to see this, it is noted that each transmitter i is idle for a fraction (1−ρ_(i))π_(Ø) of time. If this idle time is positive, then the queue of transmitter i is expected to reach zero frequently. This implies that the empty queue is a positive recurrent state and, thus, that the queue is stable. Since π_(Ø)>0 even for saturated transmitters, the condition for stability is ρ_(i)<1. As a result, if the transmitter generates more traffic than the CSMA/CA MAC protocol can deliver, then ρ_(i) tends to 1 and Eq. (11) falls back to the case of saturated transmitters as in Eq. (3). On the other hand, if the transmitter i generates too little traffic, then ρ_(i) tends to 0 and the network behaves almost as if the transmitter i does not exist.

With the knowledge of the stability condition, the range of input rates under which the network is stable may be determined and, thus, the capacity region of the network may be characterized. Let y_(i)=x_(i)/(r_(i) p_(i)) be the throughput x_(i) of a transmitter i normalized with regard to the link capacity r_(i)p_(i) of transmitter i. From Eq. (12), it may be determined that y_(i)=π_(i) and, as a result, π_(Ø)=1−Σ_(j)y₁. Since y_(i)=π_(i)=π_(Ø)(ρ_(i)θ_(i)), the ρ_(i) factor can be expressed as

$\begin{matrix} {{\rho_{i} = {\left( \frac{1}{\theta_{i}} \right)\frac{y_{i}}{1 - {\sum\limits_{j}y_{j}}}}},} & (14) \end{matrix}$ and, from the stability condition ρ_(i)<1, an inequality

$\begin{matrix} {y_{i} < {\frac{\theta_{i}}{1 + \theta_{i}}\left( {1 - {\sum\limits_{j \neq i}y_{j}}} \right)}} & (15) \end{matrix}$ can be derived for each transmitter i. The 1−Σ_(j≠i)y_(j) factor in Eq. (15) is the fraction of time that transmitter i is not frozen. In order to guarantee stability, within this time, transmitter i must transmit for strictly less time than the length of time for which the transmitter i would transmit in the saturated case.

As indicated by Eq. (15), the relation among the throughputs of the transmitters is linear and may be visualized.

In at least some embodiments, the capacity region of a set of transmitters may correspond to feasible conditions under which the transmitters may transmit. The capacity region of a set of transmitters may specify or indicate fractions of time for which the transmitters may transmit, input rates (or ranges of input rates) at which the transmitters may transmit, or the like. For example, the capacity region of a set of transmitters may indicate that the transmitter 1 transmits 40% of the time and transmitter 2 transmits 60% of the time, transmitters 1 and 2 each transmit 30% of the time and transmitter 3 transmits 40% of the time, or the like.

FIG. 5 depicts capacity regions for three exemplary embodiments of networks including transmitters.

The capacity regions 510, 520, and 530 of FIG. 5 represent feasible transmission conditions for the transmitters for which the capacity regions 510, 520, and 530 are determined. If the transmitters for which the capacity region is determined transmit according to a point (y₁, y₂, . . . , y_(n)) that falls within the capacity region (namely, within a shaded region of the graph), the transmissions are feasible and the transmission rates (y₁r₁, p₁, y₂r₂p₂, . . . , y_(n)r_(n)p_(n)) of this point within the capacity region will be achieved. If the transmitters for which the capacity region is determined transmit according to a point (y₁, y₂, . . . , y_(n)) that falls outside the capacity region (namely, outside of a shaded region of the graph), the transmissions are not feasible and the transmission rates (y₁r₁p₁, y₂r₂p₂, . . . , y_(n)r_(n)p_(n)) of this point outside the capacity region will not be achieved. As discussed above, the transmission conditions for the transmitters may be represented as transmission rates for the transmitters, respectively. It will be appreciated that when transmission rates (y₁r₁p₁, y₂r₂p₂, . . . , y_(n)r_(n)p_(n)) for the transmitters are feasible then the corresponding transmission time fractions (y₁, y₂, . . . , y_(n)) for the transmitters may be used by the transmitters in order to achieve the transmission rates and, thus, that, in at least some embodiments, the transmission time fractions for the transmitters may be considered to be transmission conditions for the transmitters (e.g., a feasible set of transmission time fractions for the transmitters corresponds to a feasible set of transmission rates for the transmitters).

The capacity region 510 of FIG. 5 corresponds to an exemplary embodiment of a relatively simple network including only two transmitters within carrier-sense range. Each transmitter imposes a linear constraint for stability and the capacity region is the intersection of both areas. The upper boundary is defined by the set of input rates where at least one transmitter is saturated, and the intersection point is the case where both of the transmitters are saturated.

The capacity region 520 of FIG. 5 corresponds to an exemplary embodiment of a network including three transmitters within carrier-sense range. The linear constraint from each transmitter i now represents a plane, which crosses the axis y_(i) at θ_(i)/(1+θ_(i)) and the other axes y_(j) at 1, for j≠i. In general, when transmitters are within range, the capacity region is the intersection of the half-spaces defined by Eq. (15) and by y_(i)≧0 and, thus, is convex. For capacity region 520, similar to capacity region 510, the upper boundary is defined by the set of input rates where at least one transmitter is saturated. The line segments intersecting two planes result from the set of rates where at least two of the transmitters are saturated. The intersection point of the three planes is when all transmitters are saturated.

Under stability, it is also possible to derive an expression for the average inter-arrival time E[A_(i)] between generated packets at a transmitter i. Recalling that c_(i)(t) is the transmission count from transmitter i in a large time window [0,t), from the law of large numbers, it may be determined that the total transmission time of the transmitter approaches c_(i)(t)E[T_(i)] as t→∞. Since the network is stable, the number of generated packets within this window is p_(i)c_(i)(t) and, thus, p_(i)c_(i)(t)E[A_(i)] approximates the total time t. The fraction of time y_(i) that a transmitter i transmits is thus:

$\begin{matrix} {y_{i} = {\left( \frac{1}{p_{i}} \right){\frac{E\left\lbrack T_{i} \right\rbrack}{E\left\lbrack A_{i} \right\rbrack}.}}} & (16) \end{matrix}$ As a result, given the parameters E[A_(i)], E[T_(i)], E[B_(i)], and p_(i) of each transmitter i, a determination as to whether the network is stable may be made by determining if the condition of Eq. (15) holds for every transmitter i of the network. As depicted in the capacity region 520 of FIG. 5, setting ρ₁=1 corresponds to the plane on the top of the graph, setting ρ₂=1 corresponds to the plane on the right of the graph, and setting ρ₃=1 corresponds to the third plane (with darker shading) on the graph.

The capacity region 530 of FIG. 5 corresponds to an exemplary embodiment of a network including three transmitters where not all of the transmitters are within carrier-sense range.

In general, embodiments in which transmitters are within carrier-sense range (e.g., as depicted and described with respect to the capacity regions 510 and 520), may be generalized for an embodiment where the transmitters are not all within carrier-sense range. It is noted that the idea of stretching the back-off intervals to saturate the network, as depicted in FIG. 4, is general and also may be applied when the transmitters are not necessarily within carrier-sense range. In other words, the result of stretching the back-off interval of every transmitter i (e.g., such that the average back-off interval increases from E[B_(i)] to E[B_(i)]/ρ_(i), for some 0<ρ_(i)≦1) is a dual saturated network where transmitters transmit at exactly the same time. Since the solution for a saturated network is known from Eq. (7), the steady-state probabilities for an unsaturated network may be derived as:

$\begin{matrix} {{\pi_{Ø} = \frac{1}{\sum\limits_{K}{\prod\limits_{k \in K}\;\gamma_{k}}}}{{\pi_{S} = \frac{\prod\limits_{k \in S}\gamma_{k}}{\sum\limits_{K}{\prod\limits_{k \in K}\;\gamma_{k}}}},}} & (17) \end{matrix}$ where γ_(k)=ρ_(k)θ_(k). The average throughput x_(i) of a transmitter i may then be computed as x_(i)=(Σ_(S:iεS)π_(S))r_(i)p_(i) by summing over all sets S where transmitter i is transmitting. The stability condition ρ_(i)<1 is still the same when transmitters are not all within carrier-sense range. Let C(S) be the set of transmitters allowed to count down (e.g., neither transmitting nor frozen) when links in S are active. Each transmitter i is then idle for a fraction (1−ρ_(i))Σ_(S:iεC(S))π_(S) of time, which to be positive requires ρ_(i)<1. The expression for the ρ_(i) factors, however, is not the solution to a linear system as in Eq. (14). Rather, the ρ_(i) factors are determined by solving a non-linear system of equations. Each transmitter provides a variable ρ_(i) and an equation y_(i)=Σ_(S:iεS)π_(S) to the system, and it may be shown that this system has a unique solution, given that the system is stable. In at least some embodiments, however, either symbolical computation or numerical methods are used to find a unique solution to the system of equations y_(i)=Σ_(S:iεS)π_(S).

For the capacity region 530, it is assumed that a transmitter τ₃ is within carrier-sense range of the other two transmitters τ₁ and τ₂, but that the other two transmitters τ₁ and τ₂ are not within carrier-sense range of each other. In this case, from Eq. (17) it may be determined that

$\begin{matrix} {{\pi_{S} = \frac{\prod\limits_{i \in S}{\rho_{i}\theta_{i}}}{1 + {\rho_{1}\theta_{1}} + {\rho_{2}\theta_{2}} + {\rho_{3}\theta_{3}} + {\left( {\rho_{1}\theta_{1}} \right)\left( {\rho_{2}\theta_{2}} \right)}}},} & (18) \end{matrix}$ from which a system of three equations may be specified as follows: y _(i)=π₁+π_(1,2) y ₂=π₂+π_(1,2) y ₃=π₃.  (19) This system can be symbolically solved for ρ₁, ρ₂, and ρ₃ as:

$\begin{matrix} {{\rho_{1} = {\left( \frac{1}{\theta_{1}} \right)\frac{y_{1}}{1 - y_{1} - y_{3}}}}{\rho_{2} = {\left( \frac{1}{\theta_{2}} \right)\frac{y_{2}}{1 - y_{2} - y_{3}}}}{\rho_{3} = {\left( \frac{1}{\theta_{3}} \right){\frac{y_{3}\left( {1 - y_{3}} \right)}{\left( {1 - y_{1} - y_{3}} \right)\left( {1 - y_{2} - y_{3}} \right)}.}}}} & (20) \end{matrix}$ Using the general result from Eq. (16), as well as the stability condition ρ_(i)<1 for each equation in Eq. (20), a determination may be made as to whether the network is stable based on the parameters E[A_(i)], E[T_(i)], E[B_(i)], and p_(i) of each transmitter i. The capacity region for this exemplary embodiment is depicted as capacity region 530 of FIG. 5. As depicted in FIG. 5, setting) ρ₁=1 corresponds to the plane on the top of the graph, setting ρ₂=1 corresponds to the plane on the right of the graph, and setting ρ₃=1 corresponds to the third plane (with darker shading) on the graph. It will be appreciated that the capacity region 530 may be proven to be non-convex using a counterexample and, therefore, the convexity of the capacity region 530 does not necessarily hold when transmitters are not all within carrier-sense range.

It will be appreciated that the expressions of transmission time fractions y_(i) associated with the capacity regions depicted in FIG. 5 are merely exemplary based on the exemplary sets of transmitters for the capacity regions depicted in FIG. 5. Accordingly, it will be appreciated that other expressions of transmission time fractions may be determined for other sets of transmitters (e.g., fewer or more transmitters, transmitters having different sets of interference constraints, or the like).

In at least some embodiments, the throughput of multi-hop flows in a CSMA/CA network may be determined. It will be appreciated that, in many types of wireless networks, each flow may need to traverse multiple hops in order to reach its intended destination. The embodiments depicted and described hereinabove for single-hop flows between neighboring transmitters may be generalized for multi-hop flows. As previously described, modeling of wireless multi-hop flows has traditionally been considered a difficult problem at least due to the strong interdependence between links (e.g., where the downstream links depend upon the upstream links for traffic and, thus, the queue state among the links is relatively tightly coupled). If multiple flows traverse the network, the problem of modeling of wireless multi-hop flows may become even more difficult, since transmissions of a given flow of the network affect the medium access of other flows of the network. As a result, the buffer dynamics typically are ignored at relay nodes and each link is assumed to be saturated with independent packet regeneration at each relay node. It is noted that the link coupling appears in the proposed equations and, thus, the exact behavior of the network may be modeled without approximations.

The derivation of the model of multi-hop flows in a CSMA/CA network is based on two observations. The first observation is that each transmitter in a given traffic flow may be considered to be a traffic source. Thus, based on the idea of stretching the back-off intervals of the transmitters (as depicted in FIG. 4), the result is a dual saturated network where nodes transmit at the same time. Thus, the analysis provided herein for saturated single-hop flows in a CSMA/CA network also may be applied for unsaturated multi-hop flows in a CSMA/CA network and, therefore, the steady-state probabilities are as defined in Eq. (17). Since the ratio θ_(i) of each transmitter i is given, a remaining question is how to determine the ρ_(i) factor of each transmitter i. The second observation is that this can be addressed by assuming that the queues of all transmitters are stable (e.g., the traffic received by a node is eventually transmitted to its next hop, and no packets accumulate in the network queues).

From the stability assumption, a non-linear system of equations may be determined for use in determining the ρ_(i) factors as follows. If τ_(i) ^(ƒ) is the i-th transmitter in the k-hop path used by flow ƒ, then, in steady state, the following k−1 equations must hold:

$\begin{matrix} {{{\left( {\sum\limits_{S:{\tau_{1}^{f} \in S}}^{\;}\;\pi_{S}} \right)r_{1}^{f}p_{1}^{f}} = {{\left( {\sum\limits_{S:{\tau_{2}^{f} \in S}}^{\;}\;\pi_{S}} \right)r_{2}^{f}p_{2}^{f}} = {\ldots = {\left( {\sum\limits_{S:{\tau_{k}^{f} \in S}}^{\;}\;\pi_{S}} \right)r_{k}^{f}p_{k}^{f}}}}},} & (21) \end{matrix}$ where r_(i) ^(ƒ) and p_(i) ^(ƒ) are the bit rate and the delivery ratio of τ_(i) ^(ƒ), respectively. The physical interpretation of Eq. (21) is that the amount of information transmitted over each hop of a stable flow must be the same in steady state. Additionally, from Eq. (16), it may be determined that, at the transmitter τ_(i) ^(ƒ) of the source of flow ƒ, the following holds:

$\begin{matrix} {y_{1}^{f} = {{\sum\limits_{S:{\tau_{1}^{f} \in S}}^{\;}\;\pi_{S}} = {\left( \frac{1}{p_{1}^{f}} \right){\frac{E\left\lbrack T_{1}^{f} \right\rbrack}{E\left\lbrack A_{1}^{f} \right\rbrack}.}}}} & (22) \end{matrix}$ From Eq. (21) and Eq. (22), there are k equations for each k-hop flow ƒ traversing the network. This system of equations can be solved for the unknown variables ρ_(i) ^(ƒ). From this solution, a determination as to whether the network is stable may be made by determining whether the condition 0≦ρ_(i) ^(ƒ) <1 holds for every transmitter τ_(i) ^(ƒ) of the network. If the condition 0≦ρ_(i) ^(ƒ) <1 does not hold for every transmitter τ_(i) ^(ƒ) of the network or if the system does not converge, then the set of flow input rates is not feasible and, thus, the average inter-arrival time E[A₁ ^(ƒ)] at the transmitters may be increased until the stability condition is satisfied. Under stability, the throughput of each multi-hop flow ƒ may be computed as x_(ƒ) =(Σ_(S:r) ₁ _(ƒ) _(εS)π_(S))r₁ ^(ƒ)p₁ ^(ƒ).

The determination of the capacity region of multi-hop flows in a CSMA/CA network may be better understood by way of an example. For instance, consider a relatively simple four-hop chain topology with a single flow and assume that the first and the last hops in the chain topology are not within carrier-sense range. Since there is only one flow in this example, the ƒ notation is dropped in the following equations for convenience. From Eq. (17), the steady-state probability of a feasible set S of transmitters in this network may be expressed as:

$\begin{matrix} {\pi_{S} = {\frac{\prod\limits_{i \in S}\;{\rho_{i}\theta_{i}}}{1 + {\rho_{1}\theta_{1}} + {\rho_{2}\theta_{2}} + {\rho_{3}\theta_{3}} + {\rho_{4}\theta_{4}} + {\left( {\rho_{1}\theta_{1}} \right)\left( {\rho_{4}\theta_{4}} \right)}}.}} & (23) \end{matrix}$

Assuming stability, the amount of information transmitted by each hop of the flow is equal and, thus, (π₁+π_(1,4))r ₁ p ₁=(π₂)r ₂ p ₂=(π₃)r ₃ p ₃=(π₄+π_(1,4))r ₄ p ₄.  (24) For simplicity, it is assumed that the capacity r_(i)p_(i) at each hop is the same. From Eq. (22), Eq. (23), and Eq. (24), a non-linear system of four equations may be constructed, and the non-linear system of four equations may be symbolically solved for the four variables ρ₁, ρ₂, ρ₃, and ρ₄, as

$\begin{matrix} {{\rho_{1} = {\left( \frac{1}{\theta_{1}} \right)\frac{y_{1}}{1 - {3y_{1}}}}}{\rho_{2} = {\left( \frac{1}{\theta_{2}} \right)\frac{y_{1}\left( {1 - {2y_{1}}} \right)}{\left( {1 - {3y_{1}}} \right)^{2}}}}{\rho_{3} = {\left( \frac{1}{\theta_{3}} \right)\frac{y_{1}\left( {1 - {2y_{1}}} \right)}{\left( {1 - {3y_{1}}} \right)^{2}}}}{\rho_{4} = {\left( \frac{1}{\theta_{4}} \right)\frac{y_{1}}{1 - {3y_{1}}}}}} & (25) \end{matrix}$ where y₁ is the ratio between E[T₁] and p₁E[A₁] as in Eq. (22). From the stability condition 0≦ρ_(i)<1, the average inter-arrival time E[A₁] may then be increased to determine the lower bound that will result in stabilization of the network.

In at least some embodiments, the problem of characterizing a multi-hop wireless network, including the capacity region of the multi-hop wireless network, through steady-state probabilities π_(S) may be decomposed into two sub-problems including: (1) a first problem of finding the general form of the steady-state probabilities π_(S), which may be achieved by a linear system of equations whose solution is described by Eq. (17); and (2) a second problem of finding the ρ_(i) ^(ƒ) factors, which may be achieved by solving a non-linear system of equations described by Eq. (21) and Eq. (22). In general, the solution is exact and holds if 0≦ρ_(i) ^(ƒ) <1 for every transmitter of the network. It will be appreciated that the solution may be computed based only on the parameters: E[A₁ ^(ƒ)], E[T_(i) ^(ƒ) ], E[B_(i) ^(ƒ) ], r_(i) ^(ƒ), p_(i) ^(ƒ). Thus, the steady-state probabilities π_(S) and the capacity region of a multi-hop wireless network are agnostic to the individual probability distributions of these parameters; rather, only the averages of these parameters are relevant.

It will be appreciated that, although embodiments of the capacity region characterization capability are primarily depicted and described herein within the context of an exemplary system model that is defined based on various assumptions, one or more of the assumptions used to define the exemplary system model may be modified while still supporting embodiments of the capacity region characterization capability. It is noted that, in at least some such modifications, the assumptions used to define the exemplary system model are discussed hereinabove in conjunction with the definition of the exemplary system model.

In at least some embodiments, a capacity region of a set of transmitters may be determined. Without loss of generality, let n be the number of transmitters in a set of transmitter for which the capacity region is to be determined. The n transmitters may or may not be within carrier sense range of each other, and each transmitter i may be either the source of a single-hop flow or a relay in a multi-hop flow. Regardless of its role, each transmitter i has associated therewith: (a) a parameter, θ_(i)=E[T_(i)]/E[B_(i)], representing the ratio of its expected transmission time E[T_(i)] over its expected back-off interval time E[B_(i)], and (b) a stability parameter ρ_(i) representing its saturation level. The set of θ values for the n transmitters form a vector {right arrow over (θ)}=(θ₁,θ₂, . . . ,θ_(n))  (26) and the set of stability parameters ρ for the n transmitters form another vector {right arrow over (ρ)}=(ρ₁,ρ₂, . . . ,ρ_(n)).  (27) The interference constraints of the transmitters define the feasible sets where a group of transmitters may simultaneously transmit. Each feasible set S of transmitters is active for a fraction π_(S) of time, expressed by

$\begin{matrix} {\pi_{S} = {\frac{\prod\limits_{k \in S}\;{\rho_{k}\theta_{k}}}{\sum\limits_{K}\;{\prod\limits_{k \in K}\;{\rho_{k}\theta_{k}}}}.}} & (28) \end{matrix}$ The sum of the π values for all feasible sets sum to one, i.e., Σ_(S)π_(S)=1. The set of the π values form yet another vector {right arrow over (π)}=(π_(Ø),π_({1}),π_({2}), . . . ,π_({n}), . . . ,π_({i,ƒ}), . . . ,π_({j,k}), . . . )  (29) which contains the fraction of time π_(S) of each feasible set S. It will be appreciated that the vector {right arrow over (π)} in Eq. (29) can be expressed as a function g of both vectors {right arrow over (ρ)} and {right arrow over (θ)} as in {right arrow over (π)}=g({right arrow over (ρ)},{right arrow over (θ)}),  (30) where each component π_(S) of {right arrow over (π)} is expressed as a function of {right arrow over (ρ)} and {right arrow over (θ)} by Eq. (28). Each transmitter i transmits for a fraction 0≦y_(i)≦1 of time (e.g., if transmitter i transmits for 50% of the time, then y_(i)=0.5). Summing the fractions of time π_(S) where transmitter i is active (i.e., all sets S such that iεS), an expression for y_(i) is obtained as

$\begin{matrix} {{y_{i} = {\sum\limits_{S:{i \in S}}\;\pi_{S}}},} & (31) \end{matrix}$ and the set of the fractions of time that each transmitter is active form a vector {right arrow over (y)}=(y ₁ ,y ₂ , . . . ,y _(n)).  (32) From Eq. (31), the vector {right arrow over (y)} can be expressed as a function ƒ of {right arrow over (π)} and, by consequence, as a function ƒ·g of both {right arrow over (θ)} and {right arrow over (ρ)}, as {right arrow over (y)}=ƒ({right arrow over (π)})=ƒ(g({right arrow over (ρ)},{right arrow over (θ)}))=ƒ·g({right arrow over (ρ)},{right arrow over (θ)})  (33) where ƒ·g is the composite function of ƒ and g. Since {right arrow over (θ)} is usually fixed, the vector {right arrow over (y)} can be expressed as a simpler function h of {right arrow over (ρ)} as {right arrow over (y)}=h(ρ).  (34) From Eq. (34), the capacity region of the set of transmitters may be specified by first finding the inverse function h⁻¹ that express the stability parameters {right arrow over (ρ)} as a function of the transmission time fractions {right arrow over (y)} {right arrow over (ρ)}=h ⁻¹({right arrow over (y)})  (35) providing a system of n equations (e.g., Eq. (14) where all transmitters are within carrier sense range of each other, Eq. (20) or another set of equations where not all transmitters are within carrier sense range of each other, and Eq. (25) or another set of equations where not all transmitters are within carrier sense range and multi-hop flows are present, or the like), and then limiting each stability parameter)°, in the system of equations in Eq. (35) to the range between zero (inclusive) and one (exclusive), i.e., 0≦ρ_(i)<1. The region determined by the equations 0≦ρ_(i)<1 is the capacity region, which is expressed in terms of {right arrow over (y)} and {right arrow over (θ)} (e.g., Eq. (14), Eq. (20) and Eq. (25)). In summary, in at least some embodiments the capacity region of a given set of transmitters may be specified by:

-   -   1. Determining the expressions of the transmission time         fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the         transmitters as a function of the stability parameters {right         arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) of the transmitters and         the {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values of the         transmitters, as shown in Eq. (28) and Eq. (31), i.e. {right         arrow over (y)}=ƒ(g({right arrow over (ρ)},{right arrow over         (θ)}))=ƒ·g({right arrow over (ρ)},{right arrow over (θ)}). It         will be appreciated that, assuming that {right arrow over (θ)}         is fixed, {right arrow over (y)} can be expressed as a function         of only {right arrow over (ρ)}, e.g., {right arrow over         (y)}=h({right arrow over (ρ)}).     -   2. Expressing the stability parameters {right arrow over (ρ)} of         the transmitters as a function of the transmission time         fractions {right arrow over (y)} of the transmitters, e.g.,         {right arrow over (ρ)}=h⁻¹({right arrow over (y)}).     -   3. Limiting the stability parameter ρ_(i) of each transmitter i         in {right arrow over (ρ)} to a range of values between zero         (inclusive) and one (exclusive), i.e., 0≦ρ_(i)<1. The region         determined by the equations 0≦ρ_(i)<1 is the capacity region of         the given set of transmitters, and it is expressed as a function         of {right arrow over (y)} and {right arrow over (θ)} (e.g., Eq.         (14), Eq. (20), and Eq. (25)).

The representation of the capacity region of a set of transmitters may also be specified as a region in an n-dimensional space, where the i-th axis represents either the range of the transmission time fraction y_(i) of transmitter i (limited between 0 and 1) or a multiple of y_(i), such as the flow input rate x_(i)=y_(i)r_(i)p_(i) (bounded below at 0, but unbounded above). The n-dimensional capacity region is defined in terms of the {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values associated with the transmitters, and it may be determined by setting each of the stability parameters ρ_(i) in the system of equations in Eq. (35) to a range of values between zero (inclusive) and one (exclusive), i.e., 0≦ρ_(i)<1. Exemplary representations of n-dimensional capacity regions for respective set of transmitters are depicted in FIG. 5.

FIG. 6 depicts one embodiment of a method for determining the capacity region of a set of transmitters.

At step 601, method 600 begins.

At step 610, a set of transmitters is identified. The set of transmitters may include all of the transmitters of a network or a subset of the transmitters of a network.

At step 620, a set of interference constraints for the transmitters in the set of transmitters is determined. The interference constraints are indicative as to which transmitters are within interference range of each other such that transmissions by these transmitters would result in interference. The interference constraints may be retrieved from memory, determined based on wireless measurements, determined based on processing of interference constraint information, determined based on a wireless model, or the like, as well as various combinations thereof. The interference constraint information may include information which may be used to determine interference constraints between the transmitters in the set of transmitters. The interference constraint information may include geographic locations of the transmitters and signal strengths of the transmitters.

At step 630, expressions of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the transmitters are determined based on the interference constraints for the transmitters. The transmission time fraction y_(i) of each transmitter i is determined based on the interference constraints of the transmitters. The expressions of the transmission time fraction of each transmitter i may be expressed as a function of the stability parameters {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) of the transmitters and the {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values of the transmitters as

$\begin{matrix} {y_{i} = {\sum\limits_{S:{i \in S}}{\frac{\prod\limits_{k \in S}\;{\rho_{k}\theta_{k}}}{\sum\limits_{K}\;{\prod\limits_{k \in K}\;{\rho_{k}\theta_{k}}}}.}}} & (36) \end{matrix}$ The expression of the transmission time fraction of each transmitter i may also be expressed as a function of the {right arrow over (π)}=(π_(Ø), π_({1}), π_({2}), . . . , π_({n}), . . . , π_({i, ƒ}), . . . , π_({j,k}), . . . ) values as

$\begin{matrix} {{y_{i} = {\sum\limits_{S:{i \in S}}\pi_{S}}},} & (37) \end{matrix}$ where the π_(S) value for a given feasible set S may be indicative of a respective fraction of time that the transmitters within the feasible set S transmit. The π_(S) values for each feasible set S are also expressed as a function of the stability parameters {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) of the transmitters and the {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values of the transmitters as

$\begin{matrix} {{\pi_{S} = \frac{\prod\limits_{k \in S}\;{\rho_{k}\theta_{k}}}{\sum\limits_{K}\;{\prod\limits_{k \in K}\;{\rho_{k}\theta_{k}}}}},} & (38) \end{matrix}$ such that the expressions of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the transmitters may also be expressed as functions of the stability parameters {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) of the transmitters and the {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values of the transmitters, as discussed above. Assuming that {right arrow over (θ)} is fixed, the transmission time fractions {right arrow over (y)} can be expressed as a simpler function of {right arrow over (ρ)} as {right arrow over (y)}=h({right arrow over (ρ)}). An exemplary embodiment of this is depicted and described herein with respect to Eq. (17), Eq. (18), and Eq. (19) associated with the exemplary capacity region expressed by Eq. (20) and depicted as capacity region 530 of FIG. 5. It will be appreciated that other expressions of transmission time fractions may be determined for other sets of transmitters (e.g., fewer or more transmitters, transmitters having different sets of interference constraints, or the like).

At step 640, expressions of the stability parameters {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) of the transmitters are determined as functions of the transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the transmitters, i.e., {right arrow over (ρ)}=h⁻¹({right arrow over (y)}). The expressions of the stability parameters {right arrow over (ρ)} are determined by expressing {right arrow over (ρ)} as a function h⁻¹ (n of the transmission time fractions {right arrow over (y)} of the transmitters (as well as the {right arrow over (θ)} values of the transmitters, although {right arrow over (θ)} is assumed to be constant and, thus, may be omitted from the function h⁻¹ ({right arrow over (y)}). An exemplary embodiment of this is depicted and described herein with respect to Eq. (20), which corresponds to the capacity region 530 of FIG. 5. It will be appreciated that other expressions of stability parameters may be determined for other sets of transmitters (e.g., fewer or more transmitters, transmitters having different sets of interference constraints, or the like).

At step 650, the capacity region of the set of transmitters is determined based on the expressions of the stability parameters {right arrow over (ρ)} as functions of the transmission time fractions {right arrow over (y)} of the transmitters and the {right arrow over (θ)} values of the transmitters. The capacity region of the set of transmitters may be determined by evaluating the expressions of the stability parameters for values of the stability parameters ranging between zero (inclusive) and one (exclusive), i.e., 0≦ρ_(i)<1.

At step 699, method 600 ends.

As described herein, the capacity region of a set of transmitters may be expressed using the expressions of the stability parameters of the transmitters and may be represented as a region in an n-dimensional space. The capacity region of the set of transmitters also provides an indication as to feasibility or stability of a given vector of transmission rates {right arrow over (x)}=(x₁, x₂, . . . , x_(n))=(y₁r₁p₁, y₂r₂p₂, . . . , y_(n)r_(n)p_(n)) or a given vector of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)). The vector of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) is a normalized version of the input rate vector {right arrow over (x)}=(x₁, x₂, . . . , x_(n))=(y₁r₁p₁, y₂r₂p₂, . . . , y_(n)r_(n)p_(n)), where each component y_(i)=x_(i)/(r_(i)p_(i)). If a determination is made that the given vector of transmission rates {right arrow over (x)} or the given vector of transmission time fractions {right arrow over (y)} fall within the capacity region of the set of transmitters, it provides an indication that the transmission conditions are stable or feasible (i.e., that the transmitters can transmit successfully at the desired rates). If a determination is made that the given vector of transmission rates {right arrow over (x)} or the given vector of transmission time fractions {right arrow over (y)} fall outside of the capacity region of the set of transmitters, it provides an indication that the transmission conditions are unstable or unfeasible (i.e., that the transmitters cannot transmit successfully at the desired rates). Thus, the capacity region of the set of transmitters may be used to determine the feasibility or stability of a given vector of transmission rates {right arrow over (x)} or a given vector of transmission time fractions {right arrow over (y)} which may be specified as part of, or determined from, the transmitter information associated with the transmitters in the set of transmitters. As described above, in at least some embodiments, transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the transmitters may be considered to be the normalized rates for the transmitters (e.g., a feasible vector of transmission time fractions {right arrow over (y)} corresponds to a feasible vector of transmission rates {right arrow over (x)} for the transmitters).

In at least some embodiments, in which all of the transmitters in the set of transmitters are sources of a single-hop flow, a determination may be made as to whether a vector of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the transmitters is feasible. As explained in Eq. (16), another expression for the transmission time fraction y_(i) of a transmitter i in the set of transmitters can be obtained as

$\begin{matrix} {y_{i} = {\left( \frac{1}{p_{i}} \right){\frac{E\left\lbrack T_{i} \right\rbrack}{E\left\lbrack A_{i} \right\rbrack}.}}} & (39) \end{matrix}$ This expression is a function of the average packet inter-arrival time E[A_(i)] of the source i (i.e., packets are generated by the source i and placed in the transmission queue of transmitter i every E[A_(i)] seconds, on average), the average transmission time E[T_(i)] of transmitter i (i.e., packets transmitted by transmitter i take E[T_(i)] seconds to be transmitted, on average), and the delivery ratio of transmitter i (i.e., the fraction of successful transmissions made by transmitter i). The transmission time fractions y_(i) for each transmitter i may be provided as an input, or may be computed based on a given expected per-packet transmission time E[T_(i)]/p_(i) and a given expected inter-arrival time E[A_(i)] provided as input for the set of transmitters. In either case, the transmission time fractions {right arrow over (y)} for the set of transmitters are available for use in determining whether the vector of transmission time fractions {right arrow over (y)} of the transmitters is feasible. Additionally, a vector of {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values is obtained for the transmitters, where the θ_(i) value for a transmitter i is equal to a ratio of the expected transmission time E[T_(i)] of transmitter i to the expected back-off interval E[B_(i)] of transmitter i. The {right arrow over (θ)} values for the set of transmitters may be provided as an input, or may be computed based on sets of expected transmission times and expected back-off intervals provided as input for the set of transmitters. In either case, values for the set of transmitters are available for use in determining whether the vector of transmission time fractions {right arrow over (y)} for the transmitters is feasible. The stability parameter {right arrow over (ρ)}_(i) of a transmitter i is computed based on the vector of transmission time fractions {right arrow over (y)} and the {right arrow over (θ)} values of the transmitters. The stability parameter {right arrow over (ρ)}_(i) for each transmitter i may be computed by finding the inverse function h⁻¹ such that {right arrow over (ρ)}_(i)=h⁻¹ ({right arrow over (y)}), as explained before (e.g., based on Eq. (14) where all transmitters are within carrier sense range of each other, based on Eq. (20) or another set of equations where not all transmitters are within carrier sense range of each other, or the like). Thus, the determination as to whether a vector of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) is feasible may be performed using vectors of transmitter input information associated with the transmitters, which may include the transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) and the {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values of the transmitters, input information indicative of the transmission time fractions {right arrow over (y)} or the {right arrow over (θ)} values of the transmitters (e.g., values of the parameters E[A_(i)], E[T_(i)], E[B_(i)], and p_(i) of each transmitter i), or the like, as well as various combinations thereof. The vector of transmission time fractions {right arrow over (y)} is determined to be feasible if each of the stability parameters ρ_(i) in the vector {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , p_(n)) is non-negative and strictly less than one. The vector of transmission time fractions {right arrow over (y)} is determined not to be feasible if the stability parameters ρ_(i) of any transmitter i is negative, equal to one, greater than one, or if the vector {right arrow over (ρ)}=h⁻¹ ({right arrow over (y)}) cannot be found (e.g., the inverse function h⁻¹ does not exist). If the vector of transmission time fractions {right arrow over (y)} is determined to be feasible, it provides an indication that the transmitters can support an associated vector {right arrow over (x)} of input rates. If the set of transmission time fractions {right arrow over (y)} is determined to be feasible, it provides an indication that the associated packet queues which queue packets for the transmitters will not continue to grow forever, and will frequently become empty.

In at least some embodiments, in which not all of the transmitters in the set of transmitters are within range of each other and multi-hop flows are present, a determination may be made as to whether a vector {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of transmission time fractions of the transmitters is feasible. For the multi-hop case, the fraction of time y_(i) that a given relay transmitter i is actively transmitting is associated with the fraction of time y_(s) that the flow source s transmits as

$\begin{matrix} {{y_{i} = {y_{s}\left( \frac{r_{s}p_{s}}{r_{i}p_{i}} \right)}},} & (40) \end{matrix}$ which is another expression for Eq. (21). This follows from the constraint that the information transmitted at each hop of the multi-hop flow must be the same. Further, the expected transmission time E[T_(i)] of a relay transmitter i is also related to the expected transmission time E[T_(s)] of the flow source s as

$\begin{matrix} {{{E\left\lbrack T_{i} \right\rbrack} = {{E\left\lbrack T_{s} \right\rbrack}\left( \frac{r_{s}}{r_{i}} \right)}},} & (41) \end{matrix}$ which follows from the constraint that the average packet size E[P_(i)] of the relay transmitter i must be the same as the average packet size of the flow source E[P_(s)] (i.e., E[P_(i)]=E[T_(i)]×r_(i)=E[T_(s)]×r_(s)=E[P_(s)]), since this is a multi-hop flow and each relay transmitter i transmits the packets generated by the flow source s. As shown in the case for single-hop flows, the equation.

$\begin{matrix} {y_{s} = {\left( \frac{1}{p_{s}} \right){\frac{E\left\lbrack T_{s} \right\rbrack}{E\left\lbrack A_{s} \right\rbrack}.}}} & (42) \end{matrix}$ holds for the flow source s and, using Eq. (40) and Eq. (41), the following equation holds for each relay transmitter i

$\begin{matrix} {{y_{i} = {\left( \frac{1}{p_{i}} \right)\frac{E\left\lbrack T_{i} \right\rbrack}{E\left\lbrack A_{s} \right\rbrack}}},} & (43) \end{matrix}$ and thus the fraction of time that the relay transmitter i transmits depends on the packet inter-arrival time E[A_(s)] at the flow source s. However, given the parameters of each flow source s, the determination as to whether a vector of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) is feasible may be performed using an expression of the capacity region of the set of transmitters (which may vary for different sets of transmitters, e.g., different numbers of transmitters having different interference constraints associated therewith). An exemplary expression of the capacity region of a multi-hop flow with four transmitters is provided by Eq. (25). As described herein, an expression of the capacity region of a set of transmitters may express a vector of stability conditions {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) in terms of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the transmitters and the associated {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values of the transmitters. A vector of transmission time fractions j) is obtained (e.g., received as input, computed based on sets of expected transmission times and expected inter-arrival times provided as input for the set of transmitters, or the like) such that the vector of transmission time fractions {right arrow over (y)} is available for use in determining whether the vector of transmission time fractions {right arrow over (y)} is feasible. Additionally, a set of {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values is obtained for the transmitters (e.g., received as input, computed based on sets of expected transmission times and expected back-off intervals provided as input for the set of transmitters, or the like) such that the {right arrow over (θ)} values for the set of transmitters are available for use in determining whether the vector of transmission time fractions {right arrow over (y)} is feasible. The stability parameters {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) are computed based on the transmission time fractions {right arrow over (y)} and the {right arrow over (θ)} values of the transmitters. The stability parameters {right arrow over (ρ)} for the transmitters may be computed by applying the expression of the capacity region of the set of transmitters (e.g., a set of equations specifying the expressions for the stability parameters ρ_(i) of each transmitter i). Thus, the determination as to whether a vector of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) of the transmitters is feasible may be performed using vectors of transmitter input information associated with the transmitters, which may include the transmission time fractions {right arrow over (y)} and the {right arrow over (θ)} values of the transmitters, input information indicative of the transmission time fractions {right arrow over (y)} or the {right arrow over (θ)} values of the transmitters (e.g., values of the parameters E[A_(s)], E[T_(s)], E[B_(s)], and p_(s) of each flow source transmitters and the values of the parameters E[T_(i)], E[B_(i)], and p_(i) of each relay transmitter i), or the like, as well as various combinations thereof. The vector of transmission time fractions {right arrow over (y)} is determined to be feasible if the stability parameter {right arrow over (ρ)}_(i) of each transmitter i is non-negative and strictly less than one. The vector of transmission time fractions {right arrow over (y)} is determined not to be feasible if one or more of the stability parameters {right arrow over (ρ)}_(i) of each transmitter i is negative, equal to one, greater than one, or if the vector {right arrow over (ρ)}=h⁻¹({right arrow over (y)}) cannot be found (e.g., the inverse function h⁻¹ does not exist). If the vector of transmission time fractions {right arrow over (y)} is determined to be feasible, it provides an indication that the transmitters can support an associated set of input rates. If the vector of transmission time fractions {right arrow over (y)} is determined to be feasible, it provides an indication that the associated packet queues which queue packets for the transmitters will not continue to grow forever, and will frequently become empty.

FIG. 7 depicts one embodiment of a method for determining feasibility of a given vector of transmission time fractions of a set of transmitters based on the capacity region of the set of transmitters.

At step 701, method 700 begins.

At step 710, a set of transmitters is identified. The set of transmitters may include all transmitters of a network, a subset of transmitters of a network, or the like.

At step 720, a capacity region of the set of transmitters is obtained. The capacity region of the set of transmitters may be determined as depicted and described with respect to FIG. 6. The capacity region of the set of transmitters may be obtained from memory (e.g., where the capacity region of the set of transmitters was previously determined, such as through execution of method 600 of FIG. 6), obtained by determining the capacity region of the set of transmitters on-the-fly (e.g., by calling method 600 of FIG. 6 for execution as part of step 720 of method 700), or the like. As explained before, the capacity region of the set of transmitters may be defined based on expressions of the stability parameter vector {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) of the transmitters (which may be obtained from a function h⁻¹ as {right arrow over (ρ)}=h⁻¹({right arrow over (y)}) in terms of transmission time fractions {right arrow over (y)}=(y₁, y₂, . . . , y_(n)) and the {right arrow over (θ)}=(θ₁, θ₂, . . . , θ_(n)) values of the transmitters in the set of transmitters). The capacity region of the set of transmitters may be determined by evaluating the expressions of the stability parameters for values ranging between zero (inclusive) and one (exclusive), i.e., 0≦ρ_(i)<1.

At step 730, transmitter input information is obtained for the set of transmitters.

The transmitter input information includes information indicative of the transmission conditions for which feasibility is determined (e.g., includes vectors of values of the transmission conditions or information which may be used to compute the values of the transmission conditions). The transmission conditions for which feasibility is determined may include a transmission rate vector {right arrow over (x)}′=(x′₁, x′₂, . . . , x′_(n))=(y′₁r₁p₁, y′₂r₂p₂, . . . , y′_(n)r_(n)p_(n)) of the transmitters, the corresponding transmission time fractions {right arrow over (y)}′=(y′₁, y′₂, . . . , y′_(n)) of the transmitters, or the like. The vector {right arrow over (y)}′ of transmission time fractions is a normalized version of the input rate vector {right arrow over (x)}′, where each component y′_(i)=x′_(i)/(r_(i)p_(i)). The transmission conditions may be obtained directly or may be computed based on portions of the transmitter input information.

The transmitter input information may include a vector of transmission time fractions {right arrow over (y)}′=(y′₁, y′₂, . . . , y′_(n)) for which feasibility is to be determined and the {right arrow over (θ)} values of the transmitters, input information which may be used to compute the transmission time fractions {right arrow over (y)}′ or the {right arrow over (θ)}′ values of the transmitters (e.g., values of the parameters E[A_(s)], E[T_(s)], E[B_(s)], and p_(s) of each flow source s and the values of the parameters E[T_(i)], E[B_(i)], and p_(i) of each relay transmitter i), or the like, as well as various combinations thereof.

At step 740, a determination is made, based on the capacity region of the set of transmissions, as to whether the transmission conditions for the set of transmitters are feasible.

The determination as to whether transmission conditions for the set of transmitters are feasible includes checking if the stability parameter values are within the range between zero (inclusive) and one (exclusive), i.e., 0≦ρ_(i)<1. The feasibility may be verified for the transmitters by evaluating the expressions of the stability parameters (which define the capacity region for the set of transmitters) based on the transmitter input information. In a first example, when the transmitter input information includes the transmission time fractions y_(i) and θ_(i) values of the transmitters, the transmission time fractions y_(i) and the θ_(i) values of the transmitters may be plugged into the expressions of the stability parameters in order to verify if y_(i) is feasible under the chosen θ_(i) values. In a second example, when the transmitter input information includes values of the parameters E[A_(i)], E[T_(i)], E[B_(i)], and p_(i) for each transmitter, the values of the parameters E[A_(i)], E[T_(i)], E[B_(i)], and p_(i) for the transmitters may be used to compute the transmission time fractions y_(i) (e.g., as shown in Eq. (39) for single-hop flows and in Eq. (42) and Eq. (43) for multi-hop flows) and θ_(i) values (e.g., from the equation θ_(i)=E[T_(i)]/E[B_(i)]) of the transmitters, which in turn may be plugged into the expressions of the stability parameters in order to compute the feasibility of y_(i) under the chosen θ_(i) values. It will be appreciated that where the transmitter input information includes combinations of such information, the information may be used to evaluate the expressions of the stability parameters in order to compute the stability parameter values.

The transmission conditions for the set of transmitters are determined to be feasible if each of the stability parameter values {right arrow over (ρ)}=(ρ₁, ρ₂, . . . , ρ_(n)) for the transmitters is non-negative and strictly less than one. The transmission conditions for the set of transmitters are determined to be infeasible if one or more of the stability parameter values for the transmitters is negative, equal to one, greater than one, or if the vector {right arrow over (ρ)}=h⁻¹({right arrow over (y)}) cannot be found (e.g., the inverse function h⁻¹ does not exist).

At step 799, method 700 ends.

It will be appreciated that, although depicted and described herein with respect to embodiments in which analytical expressions are used to represent capacity regions, parameters related to capacity regions, and the like, in at least some embodiments other types of expressions or representations may be used to represent capacity regions, parameters related to capacity regions, and the like. Thus, various references herein to analytical expressions also may be read as references to expressions or representations (e.g., a graphical representation of the capacity region, such as in the exemplary graphs depicted in FIG. 5).

It will be appreciated that, although primarily depicted and described herein with respect to embodiments in which the back-off intervals of the transmitters cannot be reduced, in at least some embodiments it may be possible to reduce the back-off intervals of the transmitters such that the stability condition for the capacity region becomes ρ_(i)≧0 (rather than 0≦ρ_(i)<1). The more general stability condition ρ_(i)≧0 may be better understood by considering the case of a steady-state solution π where a given multiplier ρ_(i) is larger than or equal to one, i.e., ρ_(i)≧1. If E[B_(i)] is assumed fixed, then it is known that the steady-state solution 7 cannot be realized in practice with stable queues. However, if this assumption is relaxed, then a possible interpretation for this case is that the steady-state solution π is feasible as long as the average back-off interval E[B_(i)] is reduced by a factor of 1/ρ_(i). In this case, for ρ_(i)>1, the actual interval E[B_(B)]/ρ_(i) becomes shorter and, thus, is able to fully accommodate the desired steady-state probabilities. While this reduction ensures that the steady-state solution 7 is feasible, it does not, however, guarantee queue stability. In fact, a decrease of the average back-off interval E[B_(i)] by only a factor of 1/ρ_(i) would still result in a saturated queue for transmitter i. Nonetheless, such a network could easily become stable if a shorter average back-off interval is selected. For example, if the shorter interval is chosen as ρ′_(i)(E[B_(i)]/ρ_(i)) for any 0≦ρ′_(i)<1, then the same steady-state distribution π is achieved and queue stability is also guaranteed. Therefore, any feasible wireless CSMA/CA multi-hop network has a dual which is stable as long as ρ_(i)≧0 for each transmitter i. The more general stability condition ρ_(i)≧0 only holds when the average back-off interval E[B_(i)] of each transmitter i is allowed to be reduced. If reducing the average back-off intervals is not possible, then the more conservative stability condition 0≦ρ_(i)<1 must hold for each transmitter i.

It will be appreciated that various assumptions discussed herein may be modified or eliminated for various embodiments of the capacity region characterization capability.

It will be appreciated that references herein to transmitters also may be read as being references to sources, links, nodes, or any other suitable terms which may be applicable to various embodiments of the capacity region characterization capability.

In at least some embodiments, capacity region characterization and feasibility determination capabilities can be employed to understand the fundamental throughput limitations and predict throughput performance of certain types of communication networks (e.g., wireless CSMA/CA multi-hop networks or the like). In at least some embodiments of this work, one or more network capacity questions may be answered based on one or more models or embodiments adapted for use in understanding fundamental throughput limitations of a communication network. For example, in a network having a first traffic flow and a second traffic flow, the proposed capacity region characterization and feasibility test may be used to determine how much the second traffic flow may still achieve when the throughput of the first traffic flow increases by a certain amount. For example, in a network having one or more existing traffic flows, the proposed capacity region characterization and feasibility test may be used to determine the reduction(s) in rate(s) of the one or more existing traffic flows when a new traffic flow starts in the network. The proposed capacity region characterization and feasibility test are able to model the buffer dynamics of unsaturated transmitters while accounting for the interference constraints imposed by the transmission medium. The proposed capacity region characterization and feasibility test are able to model the buffer dynamics of unsaturated transmitters and handle multi-hop flows, while also accounting for the interference constraints imposed by the transmission medium. In at least some embodiments, the proposed capacity region characterization and feasibility test are provided for understanding fundamental throughput limitations and predicting throughput performance of certain types of communication networks without restrictions on node placement, such that the model is suitable for use with arbitrary topologies. In at least some embodiments, the proposed model is provided for characterizing the capacity region (e.g., the set of feasible input rates) of a wireless network (e.g., a wireless CSMA/CA network). In at least some embodiments, the proposed model configured to characterize the capacity region (e.g., the set of feasible input rates) of a wireless CSMA/CA network shows that the capacity region of the wireless CSMA/CA network is convex for the case where of the nodes are within carrier-sense range of each other, but non-convex in general. In at least some embodiments, the proposed model configured to characterize the capacity region (e.g., the set of feasible input rates) of a wireless CSMA/CA network shows that the capacity region is agnostic to the probability distributions of various (or perhaps even all) network parameters (e.g., transmission back-off times, transmission times, and inter-arrival times) and, thus, depend only on the expected values of the network parameters. In at least some embodiments, the proposed model configured to characterize the capacity region of a network may determine transmission conditions under which the network is stable and converges to a steady state. In at least some embodiments, the proposed model configured to characterize the capacity region of a network may use expressions to characterize the probabilities that a feasible set of transmitters is transmitting within the network.

FIG. 8 depicts a high-level block diagram of a computer suitable for use in performing functions described herein.

The computer 800 includes a processor 802 (e.g., a central processing unit (CPU) or other suitable processor(s)) and a memory 804 (e.g., random access memory (RAM), read only memory (ROM), and the like).

The computer 800 may also include a cooperating module/process 805. The cooperating process 805 can be loaded into memory 804 and executed by the processor 802 to implement functions as discussed herein and, thus, cooperating process 805 (including associated data structures) can be stored on a computer readable storage medium, e.g., RAM memory, magnetic or optical drive or diskette, and the like.

The computer 800 may also include one or more input/output devices 806. Examples of input/output devices include a user input device (e.g., a keyboard, a keypad, a mouse, and the like), a user output device (e.g., a display, a speaker, and the like), an input port, an output port, a receiver, a transmitter, one or more storage devices (e.g., a tape drive, a floppy drive, a hard disk drive, a compact disk drive, and the like), or the like, as well as various combinations thereof.

It will be appreciated that computer 800 depicted in FIG. 8 provides a general architecture and functionality suitable for implementing functional elements described herein or portions of functional elements described herein. For example, the computer 800 provides a general architecture and functionality suitable for implementing one or more of a wireless node 112, a portion of a wireless node 112, capacity region characterization system 120, a portion of capacity region characterization system 120, or the like.

It will be appreciated that the functions depicted and described herein may be implemented in hardware or a combination of software and hardware, e.g., using a general purpose computer, via execution of software on a general purpose computer so as to provide a special purpose computer, using one or more application specific integrated circuits (ASICs) or any other hardware equivalents, or the like, as well as various combinations thereof.

It will be appreciated that at least some of the method steps discussed herein may be implemented within hardware, for example, as circuitry that cooperates with the processor to perform various method steps. Portions of the functions/elements described herein may be implemented as a computer program product wherein computer instructions, when processed by a computer, adapt the operation of the computer such that the methods or techniques described herein are invoked or otherwise provided. Instructions for invoking the inventive methods may be stored in fixed or removable media, transmitted via a data stream in a broadcast or other signal bearing medium, or stored within a memory within a computing device operating according to the instructions.

It will be appreciated that the term “or” as used herein refers to a non-exclusive “or,” unless otherwise indicated (e.g., “or else” or “or in the alternative”).

It will be appreciated that, while the foregoing is directed to various embodiments of features present herein, other and further embodiments may be devised without departing from the basic scope thereof. 

What is claimed is:
 1. An apparatus, comprising: a processor and a memory communicatively connected to the processor, the processor configured to: determine a set of interference constraints for a set of transmitters comprising a plurality of transmitters; determine, based on the set of interference constraints, a plurality of expressions of a respective plurality of transmission time fractions of the transmitters as functions of a plurality of stability parameters of the respective transmitters and a plurality of ratio parameters of the respective transmitters, wherein the transmission time fractions of the transmitters are indicative of respective fractions of time that the transmitters transmit, wherein the ratio parameters of the transmitters comprise, for each of the transmitters, a respective ratio of an expected transmission time of the respective transmitter to an expected back-off time of the respective transmitter; determine, based on the plurality of expressions of the respective plurality of transmission time fractions of the transmitters, a plurality of expressions of the respective plurality of stability parameters of the transmitters as functions of the transmission time fractions of the transmitters and the ratio parameters of the transmitters; determine a representation of a capacity region of the set of transmitters based on the plurality of expressions of the respective plurality of stability parameters of the transmitters; determine, based on the representation of the capacity region of the set of transmitters, transmission conditions to be used by the transmitters; and propagate, toward the transmitters, the transmission conditions to be used by the transmitters.
 2. The apparatus of claim 1, wherein the stability parameters of the transmitter are indicative of a respective plurality of saturation levels of the transmitters.
 3. The apparatus of claim 1, wherein one of the transmitters is a source transmitter of a single-hop flow, wherein the processor is configured to: compute the transmission time fraction for the source transmitter based on the expected transmission time of the source transmitter, an expected packet inter-arrival time of the source transmitter, and a packet delivery ratio of the source transmitter.
 4. The apparatus of claim 1, wherein one of the transmitters is a relay transmitter for a multi-hop flow, wherein the processor is configured to: compute the transmission time fraction for the relay transmitter based on the expected transmission time of the relay transmitter, an expected packet inter-arrival time of a source of the multi-hop flow for which the relay transmitter relays packets, and a packet delivery ratio of the relay transmitter.
 5. The apparatus of claim 1, wherein the processor is configured to determine the expressions of the transmission time fractions of the transmitters by: defining, based on the set of interference constraints of the transmitters, a plurality of feasible transmitter sets, wherein the feasible transmitter sets include respective groups of one or more of the transmitters which may transmit simultaneously without interference; determining a plurality of expressions for a respective plurality of time fractions in which the respective feasible transmitter sets are active; and summing, for each of the transmitters in the set of transmitters, each of the time fractions for each of the feasible transmitter sets of which the respective transmitter in the set of transmitters is a member.
 6. The apparatus of claim 1, wherein the plurality of transmitters includes n transmitters, wherein, to determine the representation of the capacity region of the set of transmitters, the processor is configured to: determine the representation of the capacity region of the set of transmitters in the n-dimensional space.
 7. The apparatus of claim 1, wherein the processor is configured to determine the representation of the capacity region of the set of transmitters by setting each of the stability parameters in the expressions for the stability parameters to a value between greater than or equal to zero and less than one.
 8. The apparatus of claim 1, wherein the transmitters have a respective plurality of average back-off intervals associated therewith, wherein the average back-off intervals are allowed to be reduced, wherein the processor is configured to determine the representation of the capacity region of the set of transmitters by setting each of the stability parameters in the expressions for the stability parameters to a value equal to or greater than zero.
 9. A method, comprising: using a processor and a memory for: determining a set of interference constraints for a set of transmitters comprising a plurality of transmitters; determining, based on the set of interference constraints, a plurality of expressions of a respective plurality of transmission time fractions of the transmitters as functions of a plurality of stability parameters of the respective transmitters and a plurality of ratio parameters of the respective transmitters, wherein the transmission time fractions of the transmitters are indicative of respective fractions of time that the transmitters transmit, wherein the ratio parameters of the transmitters comprise, for each of the transmitters, a respective ratio of an expected transmission time of the respective transmitter to an expected back-off time of the respective transmitter; determining, based on the plurality of expressions for the respective plurality of transmission time fractions, a plurality of expressions for the respective plurality of stability parameters of the transmitters as functions of the transmission time fractions of the transmitters and the ratio parameters of the transmitters; determining a representation of a capacity region of the set of transmitters based on the plurality of expressions for the respective plurality of stability parameters of the transmitters; determining, based on the representation of the capacity region of the set of transmitters, transmission conditions to be used by the transmitters; and propagating, toward the transmitters, the transmission conditions to be used by the transmitters. 